#include <iostream>
using namespace std;


#if 0
typedef void(* FUNC)(void);
void print(void){
    cout << "print" << endl;
}
void show(void){
    cout << "show" << endl;
}
int main(void)
{
    FUNC pf = print;
    pf();
    pf = show;
    pf();

    return 0;
}
#endif

#if 0
class A
{
public:
    void print(void){
        cout << "print" << endl;
    }
    void show(void){
        cout << "show" << endl;
    }
};
typedef void(A::*FUNC)(void);
int main(void)
{
    A a;
    A* aa = new A ();
    FUNC pf = &A::print;
    (a.*pf)();
    (aa->*pf)();
    pf = &A::show;
    (a.*pf)();
    (aa->*pf)();

    return 0;
}
#endif

